package com.fr.report;

import com.fr.base.print.PrintableSet;
import java.awt.print.Printable;

public abstract class PageSet
  implements PrintableSet
{
  public static final PageSet EMPTY_PAGE_SET = new PageSet()
  {
    public ReportPage getPage(int paramInt)
    {
      return null;
    }

    public int size()
    {
      return 0;
    }
  };

  public boolean sizePredictable()
  {
    return false;
  }

  public boolean pageCached()
  {
    return true;
  }

  public abstract ReportPage getPage(int paramInt);

  public PageSet getTraversingCase()
  {
    return ((pageCached()) ? this : null);
  }

  public void release()
  {
  }

  public Printable getPrintable(int paramInt)
  {
    return getPage(paramInt);
  }
}